<html>
    <head>
        <title>Quadratic Equation Solver</title>
    </head>
    <body>
        <?php
        /** 	Error reporting		* */
        error_reporting(E_ALL);

        /** 	Include path		* */
        set_include_path(get_include_path() . PATH_SEPARATOR . '../Classes/');
        ?>
        <h1>Quadratic Equation Solver</h1>
        <form action="Quadratic.php" method="POST">
            Enter the coefficients for the Ax<sup>2</sup> + Bx + C = 0
            <table border="0" cellpadding="0" cellspacing="0">
                <tr><td><b>A&nbsp;</b></td>
                    <td><input name="A" type="text" size="8" value="<?php echo (isset($_POST['A'])) ? htmlentities($_POST['A']) : ''; ?>"></td>
                </tr>
                <tr><td><b>B&nbsp;</b></td>
                    <td><input name="B" type="text" size="8" value="<?php echo (isset($_POST['B'])) ? htmlentities($_POST['B']) : ''; ?>"></td>
                </tr>
                <tr><td><b>C&nbsp;</b></td>
                    <td><input name="C" type="text" size="8" value="<?php echo (isset($_POST['C'])) ? htmlentities($_POST['C']) : ''; ?>"></td>
                </tr>
            </table>
            <input name="submit" type="submit" value="calculate"><br />
            If A=0, the equation is not quadratic.
        </form>

        <?php
        /** 	If the user has submitted the form, then we need to execute a calculation * */
        if (isset($_POST['submit'])) {
            if ($_POST['A'] == 0) {
                echo 'The equation is not quadratic';
            } else {
                /** 	So we include PHPExcel to perform the calculations	* */
                include 'PHPExcel/IOFactory.php';

                /** 	Load the quadratic equation solver worksheet into memory			* */
                $objPHPExcel = PHPExcel_IOFactory::load('./Quadratic.xlsx');

                /** 	Set our A, B and C values			* */
                $objPHPExcel->getActiveSheet()->setCellValue('A1', $_POST['A']);
                $objPHPExcel->getActiveSheet()->setCellValue('B1', $_POST['B']);
                $objPHPExcel->getActiveSheet()->setCellValue('C1', $_POST['C']);


                /** 	Calculate and Display the results			* */
                echo '<hr /><b>Roots:</b><br />';

                $callStartTime = microtime(true);
                echo $objPHPExcel->getActiveSheet()->getCell('B5')->getCalculatedValue() . '<br />';
                echo $objPHPExcel->getActiveSheet()->getCell('B6')->getCalculatedValue() . '<br />';
                $callEndTime = microtime(true);
                $callTime = $callEndTime - $callStartTime;

                echo '<hr />Call time for Quadratic Equation Solution was ' . sprintf('%.4f', $callTime) . ' seconds<br /><hr />';
                echo ' Peak memory usage: ' . (memory_get_peak_usage(true) / 1024 / 1024) . ' MB<br />';
            }
        }
        ?>

    </body>
    <html>
